﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Jogo_Grupo2.Telas;

namespace Jogo_Grupo2.Elementos
{
    class PowerUp : Objeto2D
    {
        /*1.Bazuca
          2.Metranca
          3.Tiro duplo
          4.Vida Extra
          5.ReparoCerca
         */
        KeyboardState teclado;
        public List<int> RandomPu;
        Random random = new Random();
        int TempoPu = 15;

        
        public enum PowerUpEnum
        {
            sempu,bazuca,duplotiro,metranca,reparabarricada,vidaextra
        }

        public PowerUpEnum powerUp;
       
        public PowerUp(Texture2D textura, Vector2 posicao)
            : base(textura, posicao)
        {
            int randomN = random.Next(0, 6);
            powerUp = (PowerUpEnum)randomN;

            powerUp = PowerUpEnum.bazuca;

            SelectPu();
        }
        //public void MontaListaPu()
        //{
            
        //    for (int i = 0; i < RandomPu.Count(); i++)
        //    {
        //        RandomPu.Add(randomI); 
        //        Console.WriteLine("Random["+i+"]: "+RandomPu[i]);
        //    }
        //}

        public void SelectPu()
        {
            switch(powerUp)
            {
                case PowerUpEnum.sempu:
                    SemPu();
                    break;
                case PowerUpEnum.bazuca:
                    BazukaPu();
                    break;
                case PowerUpEnum.duplotiro:
                    DuploTiroPu();
                    break;
                case PowerUpEnum.metranca:
                    MetrancaPu();
                    break;
                case PowerUpEnum.reparabarricada:
                    ReparaBarricadaPu();
                    break;
                //case PowerUpEnum.vidaextra:
                //    VidaExtrapu();
                //    break;


            }
            
        }
        public void SemPu()
        {
            texture = Game1.instancia.Content.Load<Texture2D>("PowerUps/SemPu");
            Level.instancia.ListaPowerUps.Add(this);
        }

        public void BazukaPu()
        {
            texture = Game1.instancia.Content.Load<Texture2D>("PowerUps/BazucaPu1");
            Level.instancia.ListaPowerUps.Add(this);
            TempoPu++;
            if (TempoPu == 0)
            {
                SemPu();
            }
        }
        public void DuploTiroPu()
        {
            Console.WriteLine("Pode usar agora Tiro Duplo");
            Level.instancia.ListaPowerUps.Add(this);
            TempoPu++;
            if (TempoPu == 0)
            {
                SemPu();
            }
        }
        public void MetrancaPu()
        {
            Console.WriteLine("ganhou arma Metranca");
            TempoPu++;
            Level.instancia.ListaPowerUps.Add(this);
            if (TempoPu == 0)
            {
                SemPu();
            }
        }
        public void ReparaBarricadaPu()
        {
            Console.WriteLine("Barricada Reparada em 50%");
            Level.instancia.ListaPowerUps.Add(this);
            TempoPu++;
            

            
        }
        public void VidaExtrapu()
        {
                  Console.WriteLine("Vc ganhou uma vida extra");
            
        }

        
        public void Update(GameTime gameTime)
        {

            //MontaListaPu();
            base.Update(gameTime);
        }

        public void Draw(SpriteBatch spriteBatch)
        {
            spriteBatch.Draw(texture, new Vector2(455, 19), Color.White);
        }

    }
}
